namespace utils
{
    struct noncopyable
    {
    protected:
        noncopyable() {}
        ~noncopyable() {}
    private:
        noncopyable(const noncopyable&);
        noncopyable& operator= (const noncopyable&);
    };
}//namespace utils
